perm filename TEXEXT.DIF[TEX,DEK] blob sn#500225 filedate 1980-03-28 generic text, type T, neo UTF8
  1) TEXEXT.SAI[TEX,DEK] and 2) TEXEXT.SAV[TEX,DEK]	3-28-80 21:49	pages 1,1

**** File 1) TEXEXT.SAI[TEX,DEK]/1P/1L
1)	entry; begin comment The extension module of TEX.
1)	In order to extend TEX without changing other modules, you can supply procedures for the "hooks" internal to this module. Most of these procedures are called when TEX's routines come up with a case that is ordinarily undefined (usually when processing a node of type "whatsit").
1)	Whatsit nodes can have variable length. The value field of the first word of a whatsit should identify what kind of whatsit it is. In the present extension module the types used are:
1)		0	used for \send
1)	IFPARC
1)		1	for elementary operations of color printing (by L. Guibas) ENDPARC
1)	The "send" routines are based on code developed by Jim Boyce. They appear in this module because they were the first trial extensions to TEX, although they are now considered to be "primitives";
1)	require "TEXHDR.SAI" source_file;
**** File 2) TEXEXT.SAV[TEX,DEK]/1P/1L
2)	COMMENT ⊗   VALID 00010 PAGES
2)	C REC  PAGE   DESCRIPTION
2)	C00001 00001
2)	C00003 00002	entry begin comment The extension module of TEX.
2)	C00008 00003	internal procedure initext # do this when initializing TEX
2)	C00009 00004	internal procedure extop # do this when "\x" sensed in user input
2)	C00011 00005	internal procedure dumpext(integer p) # do this in procedure dumpnodelist
2)	C00012 00006	internal procedure destroyext(integer p) # do this in procedure dsnodelist
2)	C00013 00007	internal integer procedure copyext(integer p) # do this in procedure boxcopy
2)	C00014 00008	internal procedure hpackext(integer p) # do this in procedure hpackage
2)	C00015 00009	In houtext, x and y are coordinates of the reference point,
2)	C00017 00010	internal procedure finishext # do this just before terminating TEX
2)	C00018 ENDMK
2)	C⊗;
2)	entry; begin comment The extension module of TEX.
2)	In order to extend TEX without changing other modules, you can supply
2)	procedures for the "hooks" internal to this module. Most of these procedures
2)	are called when TEX's routines come up with a case that is ordinarily
2)	undefined (usually when processing a node of type "whatsit").
2)	Whatsit nodes can have variable length. The value field of the first word
2)	of a whatsit should identify what kind of whatsit it is. In the
2)	present extension module the types used are:
2)		0	used for \send
2)	IFPARC	1	for elementary operations of color printing (by L. Guibas) ENDPARC
2)	The "send" routines are based on code developed by Jim Boyce. They appear in
2)	this module because they were the first trial extensions to TEX, although
2)	they are now considered to be "primitives";
2)	require "TEXHDR.SAI" source_file;
***************


**** File 1) TEXEXT.SAI[TEX,DEK]/1P/20L
1)	comment Warning: these definitions shared among TEXPRS and TEXHDR!!;
1)	internal boolean color;
1)	internal integer curbrightness, curhue, cursaturation;
1)	integer oldbrightness, oldhue, oldsaturation;
**** File 2) TEXEXT.SAV[TEX,DEK]/2P/25L
2)	internal boolean color;
  1) TEXEXT.SAI[TEX,DEK] and 2) TEXEXT.SAV[TEX,DEK]	3-28-80 21:49	pages 1,2

2)	integer curbrightness, curhue, cursaturation;
2)	integer oldbrightness, oldhue, oldsaturation;
***************


**** File 1) TEXEXT.SAI[TEX,DEK]/3P/3L
1)	ifc PARC thenc integer octal, i, p;
1)	do getnctok until curcmd ≠ spacer; backinput;
**** File 2) TEXEXT.SAV[TEX,DEK]/4P/3L
2)	IFPARC integer octal, i, p;
2)	do getnctok until curcmd ≠ spacer; backinput;
***************


**** File 1) TEXEXT.SAI[TEX,DEK]/3P/33L
1)		else error("Unrecognized extension to TEX");
1)		mem[p+1]←mem[p+1]+(octal land '377);
**** File 2) TEXEXT.SAV[TEX,DEK]/4P/33L
2)		else go to unknown;
2)		mem[p+1]←mem[p+1]+(octal land '377);
***************


**** File 1) TEXEXT.SAI[TEX,DEK]/3P/37L
1)	elsec
1)	unknown: error("Unrecognized extension to TEX");
1)	endc
1)	end;
**** File 2) TEXEXT.SAV[TEX,DEK]/4P/37L
2)	ENDPARC
2)	unknown: error("Unrecognized extension to TEX");
2)	end;
***************